역행렬은 언제 쓰나? (When I use matrix invertion?) [행렬,역행렬,3D,메트릭스,matrix,matrix invertion]

이미지출처 : en.wikipedia.org

역행렬(Matrix invertion)







내가 3D를 건드리게 될 줄 알았다면,



선형대수학을 공부했을 텐데….



마우스 이벤트는 2D 좌표계에서 움직인다.



2D상에서 일어난 이벤트로 3D 객체를 변형할 때, 역행렬이 아주 유용하게 사용된다.



만약 (ㅜ) - 이렇게 생긴 3D 물체를 돌리고, (ㅏ) 상태에서 이동을 시킨다면. z축으로 90도 회전되었기 때문에,



마우스를 움직이는 방향과는 다르게 지멋대로 물체가 움직이게 된다.



이럴때 4*4 행렬의 역행렬을 가져와서 이동을 시키면,



물체를 돌리기 전 상태에서 이동을 시킬 수 있다.



자바에서는 Matrix4f의 invert메소드를 사용하면, 역행렬을 구할 수 있다.




4*4 Matrix

r = Rotation

t = translation

[

{rx0,rx1,rx2,tx},

{ry0,ry1,ry2,ty},

{rz0,rz1,rz2,tz},

{0,0,0,1}

]



----

Open english content